Method of feeding back channel  information and receiver for feeding  back channel information

ABSTRACT

Provided is a receiver for feeding back channel information, which includes a channel vector measuring unit to measure channel vectors corresponding to a plurality of receiving antennas, respectively, that receive a plurality of data streams, a candidate codebook vector selecting unit to select at least two candidate codebook vectors from codebook vectors included in a codebook, by considering a quantization error based on the channel vectors with respect to each of the data streams, and a selection codebook vector determining unit to determine selection codebook vectors corresponding to the plurality of data streams respectively from the at least two candidate codebook vectors, based on a signal-to-interference and noise ratio (SINR) of each of the data streams that is calculated according to each of the candidate codebook vectors.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of a U.S. Provisional Application No. 60/945,996, filed on Jun. 25, 2007 in the U.S. Patent and Trade Mark Office, and of Korean Patent Application No. 2007-133726, filed on Dec. 18, 2007 in the Korean Intellectual Property Office, the disclosures of which are incorporated herein by reference.

TECHNICAL FIELD

The following description relates to a technology that enables a receiver such as a user terminal to feed back channel information, and more particularly, to a technology that enables a receiver such as a user terminal to effectively feed back channel information in a Multiple-Input Multiple-Output (MIMO) communication system where the capacity used for feeding back the channel information is limited.

BACKGROUND

In general, the theoretical capacity of a Multiple-Input Multiple-Output (MIMO) communication system with M transmitting antennas and N receiving antennas is greater than the theoretical capacity of a system with a single transmitting/receiving antenna by approximately min(M, N) folds.

However, when multiple antennas are installed in a receiver such as a user terminal, various issues may arise, such as high cost and an inability to secure sufficient distance between the antennas. Generally, there is a limit to the number of receiving antennas that can be installed in the receiver such as the user terminal. However, limiting the number of receiving antennas can limit the theoretical capacity.

Currently, various types of technologies have been proposed to overcome the above problems. A representative technology is a multi-user MIMO system technology. According to the multi-user MIMO system technology, the capacity may be increased as the number of multiple transmitting antennas installed in a base station increases.

In order to increase the capacity as the number of multiple transmitting antennas increases, the base station should be aware of the channel state of user terminals and generate a transmission signal based on the channel state. In order for the base station to sufficiently detect the channel state, complex hardware may be required and wireless resources may need to be consumed. Among the transmission schemes, a zero-forcing beamforming (ZFBF) scheme may achieve high performance with relatively less hardware complexity.

When applying the ZFBF scheme, the user terminal should feed back to the base station channel information that includes channel direction information (CDI) and channel quality information (CQI). For this feedback operation, there are various problems to be solved.

As an example, in a multi-user MIMO system adopting the ZFBF scheme, user terminals may not feed back to the base station the accurate CDI that matches a direction of an actual channel. Generally, each user terminal selects a vector from pre-stored codebook vectors that most matches the direction of the actual channel, and feeds back direction information of the selected vector as the CDI. Therefore, a difference between the direction of the actual channel and the CDI fed back from the user terminal may exist. The difference may be referred to as a quantization error.

As another example, when the user terminals receive data, the base station and the user terminals may not accurately estimate a signal-to-interference and noise ratio (SINR) in each of the user terminals. Since the base station may not accurately estimate the SINR, it may be impossible to set a data transmission rate appropriate for the actual channel.

Accordingly, there is a need for a technology that generates CDI and CQI as close to the accurate values as possible and feed back the generated CDI and the CQI to a base station so that a user terminal may maximize the capacity of a MIMO system.

SUMMARY

According to an aspect, there is provided a receiver for feeding back channel information comprising a channel vector measuring unit to measure channel vectors corresponding to a plurality of receiving antennas, respectively, that receive a plurality of data streams, a candidate codebook vector selecting unit to select at least two candidate codebook vectors for each data stream from codebook vectors included in a codebook, by considering a quantization error based on the channel vectors with respect to each of the data streams, and a selection codebook vector determining unit to determine selection codebook vectors corresponding to the plurality of data streams respectively from the at least two candidate codebook vectors, based on a signal-to-interference and noise ratio (SINR) of each data stream that is calculated according to each of the candidate codebook vectors.

The plurality of data streams may comprise a first data stream, wherein the candidate codebook vector selecting unit may select at least two first candidate codebook vectors associated with the first data stream from the codebook vectors, based on the quantization error corresponding to an angle between the codebook vectors and a space spanned by the channel vectors, and the selection codebook vector determining unit may determine a first selection codebook vector corresponding to the first data stream from the first candidate codebook vectors, based on the SINR of the first data stream that is calculated according to the at least two first candidate codebook vectors.

The plurality of data streams may further comprise a second data stream, wherein the candidate codebook vector selecting unit may select at least two second candidate codebook vectors associated with the second data stream from the codebook vectors, based on an orthogonality between the first selection codebook vectors and the codebook vectors, and the selection codebook vector determining unit may determine a second selection codebook vector corresponding to the second data stream from the second candidate codebook vectors, based on a sum of data transmission rates that is a function of the SINR of the first data stream and the SINR of the second data stream that is calculated based on the at least two second candidate codebook vectors.

The plurality of data streams may further comprise a third data stream, wherein the candidate codebook vector selecting unit may select at least two third candidate codebook vectors associated with the third data stream from the codebook vectors, based on an angle between the codebook vectors and a space spanned by the first selection codebook vector and the second selection codebook vector, and the selection codebook vector determining unit may determine a third selection codebook vector corresponding to the third data stream from the third candidate codebook vectors, based on a sum of data transmission rates that is a function of the SINR of the first data stream, the SINR of the second data stream, and the SINR of the third data stream that is calculated based on the at least two third candidate codebook vectors.

The selection codebook vector determining unit may determine the selection codebook vectors corresponding to the plurality of data streams respectively from the candidate codebook vectors to maximize a sum of data transmission rates that is a function of the SINR of each of the data streams.

The candidate codebook vector selecting unit may select the candidate codebook vectors from the codebook vectors in an order from a smallest quantization error.

The candidate codebook vector selecting unit may estimate the quantization error based on an angle between the codebook vectors and a space spanned by the channel vectors, and select the candidate codebook vectors based on the estimated quantization error.

The receiver may further comprise a receive beamforming unit to perform receive beamforming using the determined selection codebook vector.

The receiver may further comprise a channel information feedback unit to feed back to a base station channel direction information and channel quality information corresponding to the selection codebook vector.

According to another aspect, there is provided a receiver for feeding back channel information, comprising a channel vector measuring unit to measure channel vectors corresponding to a plurality of receiving antennas, respectively, that receive a data stream, a candidate codebook vector selecting unit to select at least two candidate codebook vectors from codebook vectors included in a codebook, by considering a quantization error based on the channel vectors, a selection codebook vector determining unit to determine a selection codebook vector corresponding to the data stream from the candidate codebook vectors, based on a signal-to-interference and noise ratio (SINR) that is calculated according to each of the candidate codebook vectors, and a receive beamforming unit to perform receive beamforming using the determined selection codebook vector.

The receiver may further comprise a channel information feedback unit to feed back to a base station channel direction information and channel quality information corresponding to the selection codebook vector.

The receive beamforming unit may perform receive beamforming using receive weight vectors that are calculated based on the selection codebook vector.

According to still another aspect, there is provided a method of feeding back channel information, comprising measuring channel vectors corresponding to a plurality of receiving antennas, respectively, that receive a plurality of data streams, selecting at least two candidate codebook vectors from codebook vectors included in a codebook, by considering a quantization error based on the channel vectors with respect to each of the data streams, and determining selection codebook vectors corresponding to the plurality of data streams respectively from the candidate codebook vectors, based on an SINR of each of the data streams that is calculated according to each of the candidate codebook vectors.

According to yet another aspect, there is provided a method of generating quality information of a terminal receiving a plurality of data streams, comprising calculating effective channel vectors corresponding to the plurality of data streams respectively, calculating a signal-to-interference and an SINR of each of the effective channel vectors based on an interference power caused by at least one adjacent terminal of the terminal and another interference power caused by remaining data streams after excluding a target data stream from the plurality of data streams, and feeding back to a base station channel quality information associated with each of the effective channel vectors, wherein the channel quality information includes the corresponding SINR that is quantized.

The calculating of the SINR may comprises estimating transmit weight vectors corresponding to the plurality of data streams respectively, based on the effective channel vectors, estimating the interference power caused by the at least one adjacent terminal of the terminal, based on the effective channel vectors and the estimated transmit weight vectors, and estimating the interference power caused by the remaining data streams, based on the effective channel vectors.

Other features will become apparent to those skilled in the art from the following detailed description, which, taken in conjunction with the attached drawings, discloses exemplary embodiments of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a multi-user Multiple-Input Multiple-Output (MIMO) communication system according to an exemplary embodiment.

FIG. 2 illustrates an example of subspaces spanned by codebook vectors and channel vectors according to an exemplary embodiment.

FIG. 3 illustrates an example of channel vectors and an effective channel vector according to an exemplary embodiment.

FIG. 4 illustrates an example of effective channel vectors where there are two data streams according to an exemplary embodiment.

FIG. 5 illustrates an example of effective channel vectors and weight vectors according to an exemplary embodiment.

FIG. 6 is a block diagram of a receiver for feeding back channel information according to an exemplary embodiment.

Throughout the drawings and the detailed description, the same drawing reference numerals will be understood to refer to the same elements, features, and structures.

DETAILED DESCRIPTION

The following detailed description is provided to assist the reader in gaining a comprehensive understanding of the methods, apparatuses and/or systems described herein. Accordingly, various changes, modifications, and equivalents of the systems, apparatuses and/or methods described herein will be suggested to those of ordinary skill in the art. Also, descriptions of well-known functions and constructions are omitted to increase clarity and conciseness.

FIG. 1 illustrates a multi-user Multiple-Input Multiple-Output (MIMO) communication system according to an exemplary embodiment.

Referring to FIG. 1, in the multi-user MIMO communication system, a base station includes a user selector 110 and a zero-forcing beamforming (ZFBF) unit 120. Each user terminal includes a channel information generator 131, 141, and 151, and a receive beamforming (Rx BF) unit 132, 142, and 152, respectively.

Each of K user terminals may measure its channel state and calculate channel direction information (CDI) and channel quality information (CQI) based on the measured channel state. Depending on a number of data streams corresponding to the user terminals respectively, a single or a plurality of CDI and CQI may exist.

Where each of the user terminals generates CDI and CQI, each of the user terminals may extract a receive weight vector to be used for receive beamforming based on the extracted CDI and the CQI. Each of the user terminals may combine received signals using the receive weight vector.

Each of the user terminals feeds back the generated CDI and CQI to the base station via a feedback channel. In the case of a system that is able to adjust the number of data streams, each of the user terminals may inform the base station about the desired number of data streams.

The base station may select a user terminal to receive data according to a predetermined user selection algorithm, based on CQI and CDI of all the user terminals. The base station may perform ZFBF with respect to the selected user terminal based on the CDI, and transmit data to the selected user terminal. The base station may set a data transmission rate based on CDI fed back from each of the user terminals.

Where multiple receiving antennas exist, there may be a need to combine data received by the receiving antennas and thereby reduce a quantization error of CDI. Hereinafter, an algorithm used to reduce the quantization error will be described.

Where a single receiving antenna is installed in each of the user terminals, each of the user terminals may select, as a selection codebook vector, a nearest vector to the direction of the actual channel vector from quantized codebook vectors. Each of the user terminals may select from the codebook vectors a vector that has the smallest angle with respect to the actual channel vector.

Where at least two receiving antennas are installed, it is possible to perform linear combination of multiplying a particular coefficient by each of channel vectors corresponding to each of receiving antennas and adding up the result of the multiplication. Due to the linear combination, it is possible to reduce the quantization error.

For example, where three transmitting antennas are installed and a channel vector corresponding to a first receiving antenna of a particular user terminal is h₁=[0.1, 0.9, 0]^(T) and a channel vector corresponding to a second receiving antenna of the user terminal is h₂=[0.1, −0.9, 0]^(T), the user terminal may perform receive beamforming. An effective channel vector of the user terminal may be represented as h_(eff)=b₁h₁+b₂h₂. Here, b₁ and b₂ are weights used for receive beamforming.

Where b₁ and b₂ have random values, the effective channel vector h_(eff) may be any one vector among a large number of vectors that exist in the space spanned by h₁ and h₂. The effective channel vector may be determined by comparing angles between the large number of vectors and the codebook vectors. Compared to a user terminal installed with a single receiving antenna, the user terminal with the multiple receiving antennas for performing receive beamforming may compare the vectors with the pre-stored codebook vectors to thereby reduce the quantization error.

FIG. 2 illustrates an example of subspaces spanned by codebook vectors and channel vectors.

FIG. 3 illustrates an example of channel vectors and an effective channel vector.

FIG. 4 illustrates an example of effective channel vectors where there are two data streams.

FIG. 5 illustrates an example of effective channel vectors and weight vectors.

Referring to FIG. 2, codebook vectors C₁, C₂, and C₃ with the magnitude of 1 exist. A circle 210 is a space spanned by channel vectors h₁ and h₂.

An angle between the codebook vectors and the space spanned by the channel vectors h₁ and h₂ may be calculated based on the magnitude of vectors that are generated by projecting the codebook vectors into the space spanned by the channel vectors h₁ and h₂ Specifically, as the angle between the codebook vectors and the space spanned by the channel vectors h₁ and ₂ increases, the magnitude of vectors generated by projecting the codebook vectors into the space spanned by the channel vectors h₁ and h₂ may be reduced.

By selecting, as the quantized effective channel vector, a codebook vector corresponding to the vector with the largest magnitude among vectors generated by projecting the codebook vectors into the space spanned by the channel vectors h₁ and h₂, it is possible to reduce the quantization error. Where the direction of the effective channel vector h_(eff) is determined through the above process, the receive weight vector used for receive beamforming may be calculated according to b=[b₁, b₂].

However, when calculating the effective channel vector h_(eff) based on only the direction or the quantization error, it may cause a problem. The channel vectors h₁ and h₂ may be unchangeable vectors, whereas the effective channel vector h_(eff) may be a changeable vector that may be generated by performing random linear combination with respect to the channel vectors h₁ and h₂. Also, the magnitude and the direction of the effective channel vector h_(eff) may be selected as the optimized value. When focusing on only the direction of the effective channel vector h_(eff), it may be ineffective. Where the direction of b₁h₁+b₂h₂ is determined according to a normalization condition of |b₁|²+|b₂|²=1, there may be a problem in that the magnitude of the effective channel vector h_(eff) may be automatically determined. In this case, the normalization condition may be required to maintain the power of Gaussian noise at the same level before and after the user terminal performs receive beamforming.

Where the effective channel vector h_(eff) is determined to reduce only the quantization error, the quantization error may be minimized but the magnitude of h_(eff) may be reduced. For example, where h₁=[0.1, 0.9, 0]^(T) and where h₂=[0.1, −0.9, 0]^(T), it is assumed that the direction of h_(eff) calculated based on only the quantization error is [1, 0, 0]^(T). b₁=b₂≅0.7 may be calculated based on h_(eff)=b₁h₁+b₂h₂ and |b₁|²+|b₂|²=1. Since the effective channel vector h_(eff) may be calculated according to h_(eff)≅[0.14, 0, 0]^(T), it may be known that the magnitude of h_(eff) is very small. FIG. 3 shows that the magnitude of h_(eff) is determined as very small.

Although the quantization error slightly increases, where h_(eff) is determined to have the direction of h₁, it may be seen that h_(eff)=h₁ and the magnitude of h_(eff) significantly increases. Specifically, in a communication system according to a ZFBF transmission scheme where wireless resources that may be used to feed back channel information is limited, a signal-to-interference and noise ratio (SINR) measured in the user terminal may be a function of the quantization error and a function of the magnitude of the effective channel vector. Accordingly, there may be a need to increase the SINR based on the quantization error and the magnitude of the effective channel vector.

Prior to a more specific description, parameters or symbols used herein may be defined as follows:

(1) h_(k) ^((t)): may be an M×1 channel vector corresponding to an it receiving antenna of a k^(th) user terminal. A j^(th) component of h_(k) ^((i)) may be a coefficient of a channel formed between a j^(th) transmitting antenna of the base station and the i^(th) receiving antenna of the k^(th) user terminal.

(2) H_(k): may be an M×N channel matrix corresponding to the k^(th) user terminal. H_(k)=[h_(k) ⁽¹⁾ h_(k) ⁽²⁾ . . . h_(k) ^((N))].

(3) c_(t): may be an i^(th) (M×1) codebook vector among codebook vectors included in a codebook. The codebook vectors may be quantized as B bits and i may be an integer from 1 to 2^(B). The magnitude of c_(i) may be normalized according to ∥c_(i)∥=1 where ∥c_(i)∥ is an Euclidian norm of c_(i).

(4) b_(k) ^((y)): may be an r^(th) (N×1) receive weight vector that is used for receive beamforming of the k^(th) user terminal.

b_(k) ^((r))=[b_(k) ^((r,1)), b_(k) ^((r,2)), . . . , b_(k) ^((r,N))]^(T). Here, ∥b_(x) ^((r))∥1 and r is an index of each of independent data streams received by the user terminals. Where the number of data streams with respect to the k^(th) user terminal is R_(k), r may be an integer from 1 to R_(k), and R_(k) may be an integer from 1 to min(M, N).

(5) h_(k,eff) ^((r)): may be an r^(th) (M×1) effective channel vector of the k^(th) user terminal after performing receive beamforming. h_(k,eff) ^((y))=b_(k) ^((y,1))h_(k) ⁽¹⁾+b_(k) ^((r,2))h_(k) ⁽²⁾+ . . . +b_(k) ^((y,N))h_(k) ^((N)) and h_(k,eff) ^((r))=H_(k)b_(k) ^((r)).

(6) h _(k,eff) ^((r)): {tilde over (h)}_(k,eff) ^((r))=h_(k,eff) ^((r))/∥h_(k,eff) ^((r))∥ and ∥{tilde over (h)}_(k,eff) ^((r))∥=1

(7) may be an (M×1) ZFBF vector corresponding to an r^(th) data stream of the k^(th) user terminal. ∥{tilde over (w)}_(k) ^((r))∥=1.

(8) {tilde over (w)} _(k) ^((r)): may be an M×1 transmitting ZFBF vector for an r^(th) data stream corresponding to another user terminal excluding the k^(th) user terminal. Here, r may be an integer from R_(k)+1 to M, and ∥{tilde over (w)} _(k) ^((y))∥=1.

(9) space(v₁, v₂, . . . , v_(n)): may be an n-dimensional subspace that may be spanned by vectors v₁, v₂, . . . , v_(n). space(v₁, v₂, . . . , v_(n)) may be a subspace that may be expressed as a₁v₁+a₂v₂+ . . . +a_(n)v_(n) with respect to a random constant a₁, a₂, . . . , a_(n).

A signal received by the i^(th) receiving antenna of the k^(th) user terminal may be represented by the following Equation 1:

y _(k) ^((i))=(h _(k) ^((i)))^(T) x+n _(k) ^((i)), i=1, 2, . . . , N  (1),

where x is an M×1 transmission signal vector, n_(k) ^((i)) is complex Gaussian noise with zero mean and a variance of σ².

With respect to signals received by all the receiving antennas, a signal received by the k^(th) user terminal after performing receive beamforming using the receive weight vector corresponding to the r^(th) data stream may be represented by the following Equation 2:

$\begin{matrix} \begin{matrix} {y_{k,{eff}}^{(r)} = {{b_{k}^{({r,1})}y_{k}^{(1)}} + {b_{k}^{({r,2})}y_{k}^{(2)}} + \ldots + {b_{k}^{({r,N})}y_{k}^{(N)}}}} \\ {= {{\left( {\sum\limits_{i = 1}^{N}{b_{k}^{({r,i})}h_{k}^{(i)}}} \right)^{T}x} + {\sum\limits_{i = 1}^{N}{b_{k}^{({r,i})}n_{k}^{(i)}}}}} \\ {= {\begin{matrix} {{{\left( h_{k,{eff}}^{(r)} \right)^{T}x} + {\sum\limits_{i = 1}^{N}{b_{k}^{({r,i})}n_{k}^{(i)}}}},} & {{r = 1},2,\ldots \mspace{11mu},R_{k}} \end{matrix}.}} \end{matrix} & (2) \end{matrix}$

In order to adjust the variance of the complex Gaussian noise before performing receive beamforming to be the same as the variance of the complex Gaussian noise after performing receive beamforming, there may be a need for the normalization condition such as |b_(k) ^(y,1))|²+|b_(k) ^(y,2))|²+ . . . +|b_(k) ^((y,N))|²=1.

In the above Equation 2, it is assumed that h_(k,eff) ^((r)) (r=1, 2, . . . , R_(k)) is the effective channel vector corresponding to the r^(th) data stream and ĥ_(k,eff) ^((r)) is a quantized vector corresponding to h_(k,eff) ^((r)). In this case, ∥ĥ_(k,eff) ^((r))∥=1 and ĥ_(k,eff) ^((y)) may be determined as any one vector from codebook vectors c_(i) (i=1, 2, . . . , 2^(B)).

Also, it is assumed that the base station transmitted M data streams using transmit beamforming weight vectors w _(k) ^((r)) (r=1, 2, 3, . . . , R_(k)) and w _(k) ^((r)) (r=R_(k)+1, R_(k)+2, . . . , M), and distributed the total transmission power P to each of the data streams. When accurately expressing the SINR of the r^(th) (r=1, 2, . . . , R_(k)) data stream received by the k^(th) user terminal, it may be represented by the following Equation 3:

$\begin{matrix} {{SINR}_{k}^{(r)} = {\frac{\left( {P/M} \right){{\left( h_{k,{eff}}^{(r)} \right)^{T}{\overset{\_}{w}}_{k}^{(r)}}}^{2}}{\sigma^{2} + {\left( {P/M} \right)\begin{pmatrix} {{\sum\limits_{{j = 1},{j \neq r}}^{R_{k}}{{\left( h_{k,{eff}}^{(r)} \right)^{T}{\overset{\_}{w}}_{k}^{(j)}}}^{2}} +} \\ {\sum\limits_{j = {R_{k} + 1}}^{M}{{\left( h_{k,{eff}}^{(r)} \right)^{T}{\overset{\_}{w}}_{\overset{\_}{k}}^{(j)}}}^{2}} \end{pmatrix}}}.}} & (3) \end{matrix}$

In the above Equation 3, a denominator may be expressed as the addition of noise power and interference power. A first term of two terms corresponding to the interference power may be the power by another data stream excluding the r^(th) data stream from the plurality of data streams received by the k^(th) user terminal. A second term of the two terms may be the power by the data streams for other user terminals excluding the k^(th) user terminal.

It is assumed that h_(k,eff) ^((r)) and ĥ_(k,eff) ^((y)) (r=1, 2, . . . , R_(k)) are determined according to a particular scheme. Since the k^(th) user terminal may not detect the channel state of the other user terminals, the k^(th) user terminal may not accurately identify the transmit beamforming weight vector. Accordingly, the k^(th) user terminal may not accurately calculate the SINR according to the above Equation 3. However, the k^(th) user terminal may approximately estimate the SINR, which will be described later.

It is assumed that the number of data streams R_(k) is two. The SINR of a first data stream received by the k^(th) user terminal may be represented by the following Equation 4:

$\begin{matrix} \begin{matrix} {{SINR}_{k}^{(1)} = \frac{\left( {P/M} \right){{\left( h_{k,{eff}}^{(1)} \right)^{T}{\overset{\_}{w}}_{k}^{(1)}}}^{2}}{\sigma^{2} + {\left( {P/M} \right)\begin{pmatrix} {{{\left( h_{k,{eff}}^{(1)} \right)^{T}{\overset{\_}{w}}_{k}^{(2)}}}^{2} +} \\ {\sum\limits_{j = 3}^{M}{{\left( h_{k,{eff}}^{(1)} \right)^{T}{\overset{\_}{w}}_{\overset{\_}{k}}^{j}}}^{2}} \end{pmatrix}}}} \\ {= {\frac{\left( {P/M} \right){h_{k,{eff}}^{(1)}}^{2}{{\left( {\overset{\_}{h}}_{k,{eff}}^{(1)} \right)^{T}{\overset{\_}{w}}_{k}^{(1)}}}^{2}}{\sigma^{2} + {\left( {P/M} \right){h_{k,{eff}}^{(1)}}^{2}\begin{pmatrix} {{{\left( {\overset{\_}{h}}_{k,{eff}}^{(1)} \right)^{T}{\overset{\_}{w}}_{k}^{(2)}}}^{2} +} \\ {\sum\limits_{j = 3}^{M}{{\left( {\overset{\_}{h}}_{k,{eff}}^{(1)} \right)^{T}{\overset{\_}{w}}_{\overset{\_}{k}}^{j}}}^{2}} \end{pmatrix}}}.}} \end{matrix} & (4) \end{matrix}$

Referring to FIG. 4 and the above Equation 4, the transmit beamforming weight vectors {tilde over (w)}_(k) ⁽¹⁾ and {tilde over (w)}_(k) ⁽²⁾ may exist in subspaces that are orthogonal to ĥ_(k,eff) ⁽¹⁾ and ĥ_(k,eff) ⁽²⁾. In FIG. 4, the number of transmitting antennas M is three and the subspace is two-dimensional. However, depending on embodiments, where the number of transmitting antennas M is four, the subspace may be three-dimensional.

Where it is assumed that the base station may select user terminals from a large number of user terminals to make the effective channel vectors of the user terminals be nearly orthogonal to each other, the transmit beamforming weight vector {tilde over (w)}_(k) ⁽¹⁾ may be approximated to a particular value. Where it is assumed that an effective channel vector of another user terminal, excluding the k^(th) user terminal, is nearly orthogonal to ĥ_(k,eff) ⁽¹⁾ and ĥ_(k,eff) ⁽²⁾, the effective channel vector of the other user terminal may be approximately orthogonal to space (ĥ_(k,eff) ⁽¹⁾, ĥ_(k,eff) ⁽²⁾).

Since {tilde over (w)}_(k) ⁽¹⁾ should be orthogonal to the effective channel vector of the other user terminal, it may be determined {tilde over (w)}_(k) ⁽¹⁾ approximately exists in space (ĥ_(k,eff) ⁽¹⁾, ĥ_(k,eff) ⁽²⁾). Also, since should be orthogonal to ĥ_(k,eff) ⁽²⁾, it may be seen that the direction of a vector that is orthogonal to ĥ_(k,eff) ⁽²⁾ among vectors existing in space (ĥ_(k,eff) ⁽¹⁾, ĥ_(k,eff) ⁽²⁾) is approximately in the direction of {tilde over (w)}_(k) ⁽¹⁾.

Similarly, it may be seen that, among the vectors existing in space (ĥ_(k,eff) ⁽¹⁾, ĥ_(k,eff) ⁽²⁾), the direction of the vector orthogonal to ĥ_(k,eff) ⁽¹⁾ is approximately in the direction of {tilde over (w)}_(k) ⁽²⁾. Accordingly, by applying a Gramm-Schmidt orthogonalization scheme based on {tilde over (w)}_(k) ⁽¹⁾ and {tilde over (w)}_(k) ⁽²⁾ that are generated by approximating the transmit weight vectors, {tilde over (w)}_(k) ⁽¹⁾ and {tilde over (w)}_(k) ⁽²⁾ may be represented by the following Equation 5 and Equation 6:

$\begin{matrix} {{{\hat{\overset{\_}{w}}}_{k}^{(1)} = \frac{{\hat{h}}_{k,{eff}}^{(1)} - {\left\lbrack {\left( {\hat{h}}_{k,{eff}}^{(2)} \right)^{H}{\hat{h}}_{k,{eff}}^{(1)}} \right\rbrack {\hat{h}}_{k,{eff}}^{(2)}}}{{{\hat{h}}_{k,{eff}}^{(1)} - {\left\lbrack {\left( {\hat{h}}_{k,{eff}}^{(2)} \right)^{H}{\hat{h}}_{k,{eff}}^{(1)}} \right\rbrack {\hat{h}}_{k,{eff}}^{(2)}}}}},} & (5) \\ {{\hat{\overset{\_}{w}}}_{k}^{(2)} = {\frac{{\hat{h}}_{k,{eff}}^{(2)} - {\left\lbrack {\left( {\hat{h}}_{k,{eff}}^{(1)} \right)^{H}{\hat{h}}_{k,{eff}}^{(2)}} \right\rbrack {\hat{h}}_{k,{eff}}^{(1)}}}{{{\hat{h}}_{k,{eff}}^{(2)} - {\left\lbrack {\left( {\hat{h}}_{k,{eff}}^{(1)} \right)^{H}{\hat{h}}_{k,{eff}}^{(2)}} \right\rbrack {\hat{h}}_{k,{eff}}^{(1)}}}}.}} & (6) \end{matrix}$

In the case of the second term of the denominator in the above Equation 4, it may be known that {tilde over (w)} _(k) ^((j)) (j=3, . . . , M) should be orthogonal to ĥ_(k,eff) ⁽¹⁾ and ĥ_(k,eff) ⁽²⁾. {tilde over (w)} _(k) ^((j)) may have an isotropic probability distribution that may not predict the directivity in an (M−2) dimensional subspace orthogonal to space (ĥ_(k,eff) ⁽¹⁾, ĥ_(k,eff) ⁽²⁾. In the isotropic probability distribution, the mean of |({tilde over (h)}_(k,eff) ⁽¹⁾)^(T) {tilde over (w)} _(k) ^((j))|² may be represented by the following Equation 7:

$\begin{matrix} {{{E\left\lbrack {{\left( {\overset{\sim}{h}}_{k,{eff}}^{(1)} \right)^{T}{\overset{\sim}{w}}_{\overset{\_}{k}}^{(j)}}}^{2} \right\rbrack} = {\left( {1 - {\sum\limits_{j = 1}^{2}{{u_{j}^{H}{\overset{\sim}{h}}_{k,{eff}}^{(1)}}}^{2}}} \right) \cdot \frac{1}{M - 2}}},} & (7) \end{matrix}$

where u₁ and u₂ are orthonormal basis vectors of space (ĥ_(k,eff) ⁽¹⁾, ĥ_(k,eff) ⁽²⁾), u₁ and u₂ may be calculated according to the Gramm-Schmidt orthogonalization scheme, Σ_(j=1) ² |u_(j) ^(H) h _(k,eff) ⁽¹⁾|² is the square of a projection value that is generated by projecting h _(k,eff) ⁽¹⁾ into space (ĥ_(k,eff) ⁽¹⁾, ĥ_(k,eff) ⁽²⁾), and

$1 - {\sum\limits_{j = 1}^{2}{{u_{j}^{H}{\overset{\_}{h}}_{k,{eff}}^{(1)}}}^{2}}$

is the square of a projection value that is generated by projecting h _(k,eff) ⁽¹⁾ into {tilde over (w)} _(k) ^((j)).

As described above, based on {tilde over (ŵ)}_(k) ⁽¹⁾ and {tilde over (ŵ)}_(k) ⁽²⁾ that are generated by approximating {tilde over (w)}_(k) ⁽¹⁾ and {tilde over (w)}_(k) ⁽²⁾, and the mean of |({tilde over (h)}_(k,eff) ⁽¹⁾)^(T) {tilde over (w)} _(k) ^((j))|², SINR_(k) ⁽¹⁾ may be approximated as given by the following equation 8:

$\begin{matrix} {{SINR}_{k}^{(1)} \equiv {\frac{\left( {P/M} \right){h_{k,{eff}}^{(1)}}^{2}{{\left( {\overset{\_}{h}}_{k,{eff}}^{(1)} \right)^{T}{\hat{\overset{\_}{w}}}_{k}^{(1)}}}^{2}}{\sigma^{2} + {\left( {P/M} \right){h_{k,{eff}}^{(1)}}^{2}\begin{pmatrix} {{{\left( {\overset{\_}{h}}_{k,{eff}}^{(1)} \right)^{T}{\hat{\overset{\_}{w}}}_{k}^{2}}}^{2} +} \\ {1 - {\sum\limits_{j = 1}^{2}{{u_{j}^{H}{\overset{\_}{h}}_{k,{eff}}^{(1)}}}^{2}}} \end{pmatrix}}}.}} & (8) \end{matrix}$

Referring to FIG. 5 and the above Equation 8, a dotted line that connect ĥ_(k,eff) ⁽¹⁾ and ĥ_(k,eff) ⁽²⁾ may indicate space (ĥ_(k,eff) ⁽¹⁾, ĥ_(k,eff) ⁽²⁾). Based on angles indicated in FIG. 5, SINR_(k) ⁽¹⁾ may be approximated as given by the following equation 9:

$\begin{matrix} {{SINR}_{k}^{(1)} \equiv {\frac{\left( {P/M} \right){h_{k,{eff}}^{(1)}}^{2}\cos^{2}\theta_{1,1}}{\sigma^{2} + {\left( {P/M} \right){h_{k,{eff}}^{(1)}}^{2}\left( {{\cos^{2}\theta_{1,2}} + {\sin^{2}\theta_{1,{space}}}} \right)}}.}} & (9) \end{matrix}$

Where θ=<(x₁, x₂) is an angle between vectors x₁ and x₂, the angles used in the above Equation 9 may be represented by the following Equation 10, Equation 11, and Equation 12:

θ_(1,1)=<({tilde over (h)} _(k,eff) ⁽¹⁾, {tilde over (ŵ)} _(k) ⁽¹⁾)  (10),

θ_(1,2)=<({tilde over (h)} _(k,eff) ⁽¹⁾, {tilde over (ŵ)} _(k) ⁽²⁾)  (11),

θ_(1,space)=<({tilde over (h)} _(k,eff) ⁽¹⁾, space (ĥ_(k,eff) ⁽¹⁾, ĥ_(k,eff) ⁽²⁾))  (12).

According to the same scheme as described above, SINR_(k) ⁽²⁾ may be represented by the following Equation 13:

$\begin{matrix} \begin{matrix} {{SINR}_{k}^{(2)} \equiv \frac{\left( {P/M} \right){h_{k,{eff}}^{(2)}}^{2}{{\left( {\overset{\_}{h}}_{k,{eff}}^{(2)} \right)^{T}{\hat{\overset{\_}{w}}}_{k}^{(2)}}}^{2}}{\sigma^{2} + {\left( {P/M} \right){h_{k,{eff}}^{(2)}}^{2}\begin{pmatrix} {{{\left( {\overset{\_}{h}}_{k,{eff}}^{(2)} \right)^{T}{\hat{\overset{\_}{w}}}_{k}^{(1)}}}^{2} +} \\ {1 - {\sum\limits_{j = 1}^{2}{{u_{j}^{H}{\overset{\_}{h}}_{k,{eff}}^{(2)}}}^{2}}} \end{pmatrix}}}} \\ {= {\frac{\left( {P/M} \right){h_{k,{eff}}^{(2)}}^{2}\cos^{2}\theta_{2,2}}{\sigma^{2} + {\left( {P/M} \right){h_{k,{eff}}^{(2)}}^{2}\left( {{\cos^{2}\theta_{2,1}} + {\sin^{2}\theta_{2,{space}}}} \right)}}.}} \end{matrix} & (13) \end{matrix}$

Each of the user terminals may feed back, as CDI, the calculated SINR_(k) ⁽¹⁾ and SINR_(k) ⁽²⁾ to the base station.

For example, where the number of data streams R_(k) is three, SINR_(k) ⁽¹⁾ may be approximated as given by the following Equation 14:

$\begin{matrix} \begin{matrix} {{SINR}_{k}^{(1)} \cong \frac{\left( {P/M} \right){h_{k,{eff}}^{(1)}}^{2}{{\left( {\overset{\_}{h}}_{k,{eff}}^{(1)} \right)^{T}{\hat{\overset{\_}{w}}}_{k}^{(1)}}}^{2}}{\sigma^{2} + {\left( {P/M} \right){h_{k,{eff}}^{(1)}}^{2}\begin{pmatrix} {{{\left( {\overset{\_}{h}}_{k,{eff}}^{(1)} \right)^{T}{\hat{\overset{\_}{w}}}_{k}^{(2)}}}^{2} +} \\ {{\left( {\overset{\_}{h}}_{k,{eff}}^{(1)} \right)^{T}{\hat{\overset{\_}{w}}}_{k}^{(3)}}}^{2} \\ {1 - {\sum\limits_{j = 1}^{3}{{u_{j}^{H}{\overset{\_}{h}}_{k,{eff}}^{(1)}}}^{2}}} \end{pmatrix}}}} \\ {= {\frac{\left( {P/M} \right){h_{k,{eff}}^{(1)}}^{2}\cos^{2}\theta_{1,1}}{\sigma^{2} + {\left( {P/M} \right){h_{k,{eff}}^{(1)}}^{2}\begin{pmatrix} {{\cos^{2}\theta_{1,2}} + {\cos^{2}\theta_{1,3}} +} \\ {\sin^{2}\theta_{1,{space}}} \end{pmatrix}}}.}} \end{matrix} & (14) \end{matrix}$

Parameters used in the above Equation 14 may be given as follows:

$\begin{matrix} {w_{k}^{(r)} = \frac{{\hat{h}}_{k,{eff}}^{(r)} - {\left\lbrack {\left( u_{r,1} \right)^{H}{\hat{h}}_{k,{eff}}^{(r)}} \right\rbrack u_{r,1}} - {\left\lbrack {\left( u_{r,2} \right)^{H}{\hat{h}}_{k,{eff}}^{(r)}} \right\rbrack u_{r,2}}}{{{\hat{h}}_{k,{eff}}^{(r)} - {\left\lbrack {\left( u_{r,1} \right)^{H}{\hat{h}}_{k,{eff}}^{(r)}} \right\rbrack u_{r,1}} - {\left\lbrack {\left( u_{r,2} \right)^{H}{\hat{h}}_{k,{eff}}^{(r)}} \right\rbrack u_{r,2}}}}} & (1) \\ {\theta_{1,j} = {\angle\left( {{\overset{\sim}{h}}_{k,{eff}}^{(1)},{\hat{\overset{\sim}{w}}}_{k}^{(j)}} \right)}} & (2) \\ {\theta_{1,{space}} = {\angle \left( {{\overset{\sim}{h}}_{k,{eff}}^{(1)},{{space}\left( {{\hat{h}}_{k,{eff}}^{(1)},{\hat{h}}_{k,{eff}}^{(2)},{\hat{h}}_{k,{eff}}^{(3)}} \right)}} \right)}} & (3) \end{matrix}$

Here, {u_(1,1), u_(1,2)}, {u_(2,1), u_(2,2)}, and {u_(3,1), u_(3,2)} may denote orthonormal basis vectors of space (ĥ_(k,eff) ⁽²⁾, ĥ_(k,eff) ⁽³⁾), space (ĥ_(k,eff) ⁽¹⁾, ĥ_(k,eff) ⁽³⁾), and space (ĥ_(k,eff) ⁽¹⁾, ĥ_(k,eff) ⁽²⁾) respectively, u₁, u₂, u₃ may denote orthonormal basis vectors of space (ĥ_(k,eff) ⁽¹⁾, ĥ_(k,eff) ⁽²⁾, ĥ_(k,eff) ⁽³⁾).

For example, where the number of data streams R_(k) is R, SINR_(k) ^((r)) (r=1, 2, . . . R) may be approximated as given by the following Equation

$\begin{matrix} \begin{matrix} {{SINR}_{k}^{(r)} \equiv \frac{\left( {P/M} \right){h_{k,{eff}}^{(r)}}^{2}{{\left( {\overset{\_}{h}}_{k,{eff}}^{(r)} \right)^{T}{\hat{\overset{\_}{w}}}_{k}^{(r)}}}^{2}}{\sigma^{2} + {\left( {P/M} \right){h_{k,{eff}}^{(r)}}^{2}\begin{pmatrix} {{{\left( {\overset{\_}{h}}_{k,{eff}}^{(r)} \right)^{T}{\hat{\overset{\_}{w}}}_{k}^{(j)}}}^{2} +} \\ {1 - {\sum\limits_{j = 1}^{R}{{u_{j}^{H}{\overset{\_}{h}}_{k,{eff}}^{(r)}}}^{2}}} \end{pmatrix}}}} \\ {= \frac{\left( {P/M} \right){h_{k,{eff}}^{(r)}}^{2}\cos^{2}\theta_{r,r}}{\sigma^{2} + {\left( {P/M} \right){h_{k,{eff}}^{(r)}}^{2}\left( {{\sum\limits_{{j = 1},{j \neq r}}^{R}{\cos^{2}\theta_{r,j}}} + {\sin^{2}\theta_{r,{space}}}} \right)}}} \\ {= {{{CQI}_{k}^{(r)}(R)}.}} \end{matrix} & (15) \end{matrix}$

Parameters used in the above Equation 15 may be given as follows:

$\begin{matrix} {{\overset{\sim}{\overset{\_}{w}}}_{k}^{(r)} = \frac{{\hat{h}}_{k,{eff}}^{(r)} - {\sum\limits_{j = 1}^{R - 1}{\left\lbrack {\left( u_{r,j} \right)^{H}{\hat{h}}_{k,{eff}}^{(r)}} \right\rbrack u_{r,j}}}}{{{\hat{h}}_{k,{eff}}^{(r)} - {\sum\limits_{j = 1}^{R - 1}{\left\lbrack {\left( u_{r,j} \right)^{H}{\hat{h}}_{k,{eff}}^{(r)}} \right\rbrack u_{r,j}}}}}} & (1) \\ {\theta_{r,j} = {\angle\left( {{\overset{\_}{h}}_{k,{eff}}^{(r)},{\hat{\overset{\_}{w}}}_{k}^{(j)}} \right)}} & (2) \\ {\theta_{r,{space}} = {\angle \left( {{\overset{\sim}{h}}_{k,{eff}}^{(r)},{{space}\left( {{\hat{h}}_{k,{eff}}^{(1)},{\hat{h}}_{k,{eff}}^{(2)},\ldots \mspace{11mu},{\hat{h}}_{k,{eff}}^{(R)}} \right)}} \right)}} & (3) \end{matrix}$

Here, {u_(r,j)|j=1, 2, . . . ,, R−1} may be orthonormal basis vectors that may be (R−1) dimensional subspaces that may be spanned by remaining vectors after excluding ĥ_(k,eff) ^((r)) from ĥ_(k,eff) ⁽¹⁾, ĥ_(k,eff) ⁽²⁾, . . . , ĥ_(k,eff) ^((R)). {u_(r)|r=1, 2, . . . , R} may be orthonormal basis vectors of space (ĥ_(k,eff) ⁽¹⁾, ĥ_(k,eff) ⁽²⁾, . . . , ĥ_(k,eff) ^((R)))

Where the number of data streams R_(k) is R, the approximated k may be represented CQI_(k) ^((r))(R) as and each of the user terminals may feed back CQI_(k) ^((r))(R) to the base station via a feedback channel.

Hereinafter, a process of calculating CDI will be described.

Where R_(k)=R, optimized CDI may be calculated according to the following Equation 16:

$\begin{matrix} {\left\{ {{\left. {{\hat{h}}_{k,{eff}}^{(\gamma)}(R)}^{*} \middle| r \right. = 1},2,,\ldots \mspace{11mu},R} \right\} = {\arg \; {\max\limits_{{\hat{h}}_{k,{eff}}^{(\gamma)}}{\left( {\max\limits_{h_{k,{eff}}^{(\gamma)}}{\sum\limits_{\gamma = 1}^{R}{\log_{2}\left( {1 + {C\; Q\; {I_{k}^{(\gamma)}(R)}}} \right)}}} \right).}}}} & (16) \end{matrix}$

Where R codebook vectors are pre-stored, {h_(k,eff) ^((r))|r=1, 2, . . . , R} maximizing

$\sum\limits_{\gamma = 1}^{R}{\log_{2}\left( {1 + {C\; Q\; {I_{k}^{(r)}(R)}}} \right)}$

may be calculated.

$\sum\limits_{r = 1}^{R}{\log_{2}\left( {1 + {C\; Q\; {I_{k}^{(r)}(R)}}} \right)}$

may be the sum of data transmission rates. Among a plurality of combinable {h_(k,eff) ^((r))|r=1, 2, . . . , R}, it is possible to compare all the maximum values of

$\sum\limits_{\gamma = 1}^{R}{{\log_{2}\left( {1 + {C\; Q\; {I_{k}^{(r)}(R)}}} \right)}.}$

{h_(k,eff) ^((r))|r=1, 2, . . . , R} maximizing

$\sum\limits_{\gamma = 1}^{R}{\log_{2}\left( {1 + {C\; Q\; {I_{k}^{(\gamma)}(R)}}} \right)}$

may be determined as the optimal CDI.

Where the number of data streams R_(k) is adjustable based on the channel state, the optimized may be calculated according to the following Equation 17:

$\begin{matrix} {R_{k}^{*} = {\arg \; {\max\limits_{{R = 1},2,\; \ldots \;,{\min {({M,N})}}}{\max\limits_{\{{\hat{h}}_{k,{eff}}^{(\gamma)}\}}{\left( {\max\limits_{\{ h_{k,{eff}}^{(\gamma)}\}}{\sum\limits_{r = 1}^{R}{\log_{2}\left( {1 + {C\; Q\; {I_{k}^{(r)}(R)}}} \right)}}} \right).}}}}} & (17) \end{matrix}$

{ĥ_(k,eff) ^((r))(R_(k)*)*|r=1, 2, . . . , R} corresponding to the calculated R_(k)* may be calculated as quantized CDI. However, a large amount of calculations may be needed to directly calculate {ĥ_(k,eff) ^((r))(R_(k)*)*|r=1, 2, . . . R} according to the above Equation 17. When using schemes disclosed as below, it is possible to calculate {ĥ_(k,eff) ^((r))|r=1, 2, . . . , R} with relative fewer calculations.

Hereinafter, the disclosed schemes will be conceptually described.

When the user terminals calculate a plurality of effective channel vectors, the user terminals may calculate a most optimized effective channel vector in a current step, instead of jointly calculating the effective channel vectors. For example, in the case of R_(k)=3 will be described. When the user terminal calculates a first effective channel vector, the number of data streams may be assumed to be one. Specifically, assuming that a second effective channel vector and a third effective channel vector do not exist, the most optimized effective channel vector that enables the improvement of the receive performance may be calculated. When the user terminal calculates the second effective channel vector, the user terminal may calculate the most optimized effective channel vector assuming that the first effective channel vector is determined and the third effective channel vector does not exist. When the first effective channel vector and the second effective channel vector are determined, the user terminal may calculate the third effective channel vector.

When calculating each effective channel vector, the user terminal may determine the direction of a current effective channel vector to be nearly orthogonal to the direction of the previously determined effective channel vector.

When calculating each effective channel vector, the user terminal may select, as the effective channel vector, any one from a plurality of candidate codebook vectors. Specifically, instead of selecting the effective channel vector from only a single candidate codebook vector based on only a quantization error, the user terminal may select, as the effective channel vector, any one of the plurality of candidate codebook vectors and thus it is possible to improve an SINR.

When R_(k)=3 and the user terminal calculates the first effective channel vector, the user terminal may select the plurality of candidate codebook vectors based on angles between the effective channel vector and the codebook vectors in order to reduce the interference amount and the quantization error. Specifically, the user terminal may select L₁ candidate codebook vectors in an order of a smallest quantization error. The user terminal may determine, as the first effective channel vector, any one of the L₁ candidate codebook vectors, based on SINR calculated with respect to the L₁ candidate codebook vectors.

When the user terminal calculates the second effective channel vector, the user terminal may select L₂ candidate codebook vectors for the second effective channel vector. The user terminal may select, from the codebook vectors, vectors that are nearly orthogonal to the direction of the determined first effective channel vector. The user terminal may determine, as the second effective channel vector, any one of L₂ candidate codebook vectors based on SINR calculated with respect to the L₂ candidate codebook vectors.

When the user terminal calculates the third effective vector channel, a process similar to the above-described process may be used.

The disclosed schemes may be performed as follows:

It is assumed that the number of data streams R_(k) of the k^(th) user terminal is R.

(1) In step 1, the user terminal may initialize the number of data streams to “1”, that is, may initialize an index s to “1”.

(2) In step 2, the user terminal may calculate the magnitude of the projected vector that is generated by projecting c_(i) (i=1, 2, . . . , 2^(B)) into space (h_(k) ⁽¹⁾, h_(k) ⁽²⁾, . . . , h_(k) ^((N))). Where the magnitude of the projected vector is ∥c_(i) ^(proj)∥², ∥c_(i) ^(proj)∥² may be represented by the following Equation 18:

$\begin{matrix} {{{c_{i}^{proj}}^{2} = {\sum\limits_{j = 1}^{N}{{v_{j}^{H}c_{i}}}^{2}}},} & (18) \end{matrix}$

where v₁, v₂, . . . , v_(N) are orthonormal basis vectors of space (h_(k) ⁽¹⁾, h_(k) ⁽²⁾, . . . h_(k) ^((N))).

(3) In step 3, the user terminal may compare ∥c_(i) ^(proj)∥² and select L₁ candidate codebook vectors from the codebook vectors in an order of greatest magnitude. The index of a j^(th) candidate codebook vector may be expressed as <j>. L₁ may be a parameter that has the range of 1≦L₁≦2^(B) and may be adjustable.

(4) In step 4, with respect to j=1, 2, . . . , L₁, the user terminal may calculate the projection value c_(<j>) ^(proj) according to the following Equation 19:

c _(<j>) ^(proj)=(v ₁ ^(H) c _(<j>))v ₁+(v ₂ ^(H) c _(<j>))v ₂+ . . . +(v _(N) ^(H) c _(<j>))v _(N)  (19).

(5) In step 5, with respect to j=1, 2, . . . , L₁, the user terminal may calculate the receive weight vector b_(k) ⁽¹⁾ that is used for receive beamforming and may calculate h_(k,eff) ⁽¹⁾ based on the calculated b_(k) ⁽¹⁾. When expressing the calculated h_(k,eff) ⁽¹⁾ as h_(k,f,eff) ⁽¹⁾, h_(k,j,keff) ⁽¹⁾ may be represented by the following Equation 20:

$\begin{matrix} \begin{matrix} {h_{k,j,{eff}}^{(1)} = {H_{k}b_{k}^{(1)}}} \\ {= {H_{k}{\frac{\left( {H_{k}^{H}H_{k}} \right)^{- 1}H_{k}^{H}c_{< j >}^{proj}}{{\left( {H_{k}^{H}H_{k}} \right)^{- 1}H_{k}^{H}c_{< j >}^{proj}}}.}}} \end{matrix} & (20) \end{matrix}$

(6) In step 6, with respect to j=1, 2, . . . , L₁, the user terminal may calculate the index j* maximizing CQI_(k) ⁽¹⁾(l), and the index j* may be represented by the following Equation 21:

j*=arg _(1≦j≦L) ₁maxCQI _(k) ⁽¹⁾(1)  (21).

Here, for the values of ĥ_(k,eff) ⁽¹⁾ and h_(k,eff) ⁽¹⁾ required to calculate CQI_(k) ⁽¹⁾(1) with respect to j, the user terminal may use h_(k,j,eff) ⁽¹⁾ and c_(<j>) that are calculated in step 5.

(7) In step 7, the user terminal may use the index j* calculated in step 6 to thereby determine the first effective channel vector ĥ_(k,eff) ⁽1) as given by the following Equation 22:

ĥ _(k,eff) ⁽¹⁾ c _(<j*>)  (22).

The index of the effective channel vector may be fed back to the base station as CDI.

The user terminal may determine the first effective channel vector h_(k,eff) ⁽¹⁾ corresponding to the first data stream and the receive weight vector corresponding to the first effective channel vector h_(k,eff) ⁽¹⁾, using the values corresponding to j* determined in step 5.

(8) In step 8, the user terminal may increase the index s, that is, the number of data streams by one, as shown in s←s+1.

Where s>R, the user terminal may terminate the algorithm. Conversely, where s≦R, the user terminal may perform the following step.

(9) In step 9, the user terminal may select L, candidate codebook vectors from codebook vectors {c_(i)|i=1, 2, . . . , 2^(B)} depending on the orthogonality with respect to space (ĥ_(k,eff) ⁽¹⁾, ĥ_(k,eff) ⁽²⁾, . . . , ĥ_(k,eff) ^((s−1))) that is a subspace spanning {ĥ_(k,eff) ^((r))|r=1, 2, . . . , s−1} that is determined in the previous step. The user terminal may indicate the index of the j^(th) candidate codebook vector as <j>. L_(s) may be a parameter that has the range of 1≦L, ≦2^(B) and be adjustable.

Where z₁, z₂, . . . , z_(s−1) are orthonormal basis vectors of space (ĥ_(k,eff) ⁽¹⁾, ĥ_(k,eff) ⁽²⁾, . . . , ĥ_(k,eff) ^((s−1))), the orthogonality may be determined based on the value of

$\sum\limits_{j = 1}^{s - 1}{{{z_{j}^{H}c_{i}}}^{2}.}$

For example, it may be determined that the orthogonality may increase as

$\sum\limits_{j = 1}^{s - 1}{{z_{j}^{H}c_{i}}}^{2}$

decreases.

(10) In step 10, with respect to j=1, 2, . . . , L_(s), the user terminal may calculate the projection value c_(<j>) ^(proj) that is projected into space (h_(k) ⁽¹⁾, h_(k) ⁽²⁾, . . . , h_(k) ^((N))) and is generated, according to the following Equation 23:

c _(<j>) ^(proj)=(v ₁ ^(H) c _(<j>))v ₁+(v ₂ ^(H) c _(<j>))v ₂+ . . . +(v _(N) ^(H) c _(<j>))v _(N)  (23).

The user terminal may use again the calculation results obtained in steps 1 and 4 to calculate the projection value c_(<j>) ^(proj).

(11) In step 11, with respect to j=1, 2, . . . , L_(s), the user terminal may calculate the receive weight vector b_(k) ^((s)) and calculate h_(k,eff) ^((s)) based on the calculated b_(k) ^((s)). The user terminal may calculate h_(k,eff) ^((s)) according to the following Equation 24:

$\begin{matrix} \begin{matrix} {h_{k,j,{eff}}^{(s)} = {H_{k}b_{k}^{(1)}}} \\ {= {H_{k}{\frac{\left( {H_{k}^{H}H_{k}} \right)^{- 1}H_{k}^{H}c_{< j >}^{proj}}{{\left( {H_{k}^{H}H_{k}} \right)^{- 1}H_{k}^{H}c_{< j >}^{proj}}}.}}} \end{matrix} & (24) \end{matrix}$

(12) In step 12, with respect to j=1, 2, . . . L_(s), the user terminal may calculate the index j* according to the following Equation 25:

$\begin{matrix} {j^{*} = {\arg \; {\max\limits_{1 \leq j \leq L_{s}}{\sum\limits_{r = 1}^{s}{{\log_{2}\left( {1 + {C\; Q\; {I_{k}^{(r)}(s)}}} \right)}.}}}}} & (25) \end{matrix}$

With respect to j, h_(k,j,eff) ^((s)) and c_(<j>) calculated in step 11 are respectively used for h_(k,eff) ^((s)) and ĥ_(k,eff) ^((s)) that are used to calculate CQI_(k) ^((r))(s).

(13) In step 13, the user terminal may use the index j* calculated in step 12 to determine an s^(th) effective channel vector ĥ_(k,eff) ^((s)) as given by the following Equation 26:

ĥ _(k,eff) ^((s)) =c _(<j*>)  (26).

The user terminal may determine the effective channel vector h_(k,eff) ^((s)) corresponding to the s^(th) data stream and the receive weight vector b_(k) ^((s)) corresponding to h_(k,eff) ^((s)) as a value corresponding to calculated in step 11.

(14) In step 14, the user terminal may perform step 8.

The exemplary scheme disclosed herein may be applicable even where the number of data streams is adjustable.

The number of data streams R_(k) may be any one integer among integers from 1 to min (M, N) depending on the channel state. An exemplary embodiment may be applicable according to the above-described steps 1 through 14. Additional processes may be performed as follows:

In the case of increasing the index s that is the number of data streams, where the index s is greater than min(M, N), or where

$\sum\limits_{r = 1}^{s}{\log_{2}\left( {1 + {C\; Q\; {I_{k}^{(r)}(s)}}} \right)}$

corresponding to the current index s is less than or equal to

$\sum\limits_{r = 1}^{s}{\log_{2}\left( {1 + {C\; Q\; {I_{k}^{(r)}(s)}}} \right)}$

corresponding to the previous index s, the user terminal may terminate the algorithm. The previous index s may be the number of data streams corresponding to a corresponding user terminal.

Therefore, where the number of data streams is adjustable, the exemplary embodiment may be configured by modifying the above steps 6, 8, and 12 among the above-described steps 1 through 14.

(1) Modification of step 6:

With respect to j=1, 2, . . . , L₁, the user terminal may calculate j* to maximize CQI_(k) ⁽¹⁾(1) of the following Equation 27:

$\begin{matrix} {j^{*} = {\arg \; {\max\limits_{1 \leq j \leq L_{1}}{C\; Q\; {{I_{k}^{(1)}(1)}.}}}}} & (27) \end{matrix}$

With respect to j, h_(k,j,eff) ⁽¹⁾ and c_(<j>) calculated in step 5 are used for h_(k,eff) ⁽¹⁾ and ĥ_(k,eff) ⁽¹⁾ required to calculate CQI_(k) ⁽¹⁾(1). The user terminal may store log₂(1+CQI_(k) ⁽¹⁾(1)) corresponding to j* as sum_rate(1).

(2) Modification of step 8:

The user terminal may increase the index s, that is, the number of data streams by one, as shown in s←s+1.

Where s>min(M, N), the user terminal may terminate the algorithm and set R_(k) to min(M, N). Where s>2 and sum_rate(s−1)≦sum_rate(s−2), the user terminal may terminate the algorithm and set R_(k) to s−2. Where the algorithm is terminated, the effective channel vector may be determined as {ĥ_(k,eff) ^((r))|r=1, 2, . . . , s} when s=R_(k). Conversely, where the algorithm is not terminated, the following step may be performed.

(3) Modification of step 12:

With respect to j=1, 2, . . . , L_(s), the user terminal may calculate j* according to the following Equation 28:

$\begin{matrix} {j^{*} = {\arg \; {\max\limits_{1 \leq j \leq L_{1}}{\sum\limits_{r = 1}^{s}{{\log_{2}\left( {1 + {C\; Q\; {I_{k}^{(r)}(s)}}} \right)}.}}}}} & (28) \end{matrix}$

With respect to j, the user terminal may use h_(k,j,eff) ^((s)) and c_(<j>) calculated in step 11 for the values of h_(k,eff) ^((s)) and ĥ_(k,eff) ^((s)) required to calculate CQI_(k) ^((r))(s). The user terminal may store

$\sum\limits_{r = 1}^{s}{\log_{2}\left( {1 + {C\; Q\; {I_{k}^{(r)}(s)}}} \right)}$

corresponding to j* as sum_rate(s).

FIG. 6 is a block diagram illustrating a receiver 600 for feeding back channel information according to an exemplary embodiment.

Referring to FIG. 6, the receiver 600 includes a channel vector measuring unit 610, a candidate codebook vector selecting unit 620, a selection codebook vector determining unit 630, a channel information feedback unit 640, and a receive beamforming unit 650.

The channel vector measuring unit 610 may measure channel vectors corresponding to a plurality of receiving antennas, respectively, that receive a plurality of data streams.

The candidate codebook vector selecting unit 620 may select at least two codebook vectors from codebook vectors included in a codebook, by considering a quantization error based on the channel vectors with respect to each of the data streams.

The candidate codebook vector selecting unit 620 may predict the quantization error based on an angle between a space spanned by the codebook vectors and a space spanned by the channel vectors and select the candidate codebook vectors based on the quantization error.

The candidate codebook vector selecting unit 620 may select the candidate codebook vectors in an order of a smallest quantization error among the codebook vectors.

The selection codebook vector determining unit 630 may determine selection codebook vectors corresponding to the plurality of data streams respectively from the candidate codebook vectors based on an SINR of each of the data streams that is calculated according to each of the candidate codebook vectors.

The selection codebook vector determining unit 630 may determine a selection codebook vector corresponding to each of the data streams from the candidate codebook vectors, so that the sum of data transmission rates may be maximized. The sum may be a function of the SINR of each of the data streams.

Where the plurality of data streams include a first data stream, the candidate codebook vector selecting unit 620 may select at least two candidate codebook vectors associated with the first data stream from the codebook vectors, based on the quantization error corresponding to the angle between the space spanned by the codebook vectors and the space spanned by the channel vectors. The selection codebook vector determining unit 630 may determine a first selection codebook vector corresponding to the first data stream from the first candidate codebook vectors, based on the SINR of the first data stream that is calculated according to the at least two first candidate codebook vectors.

Where the plurality of data streams further include a second data stream, the candidate codebook vector selecting unit 620 may select at least two second candidate codebook vectors associated with the second data stream from the codebook vectors, based on the orthogonality between the first selection codebook vector and the codebook vectors. The selection codebook vector determining unit 630 may determine a second selection codebook vector corresponding to the second data stream from the second candidate codebook vectors, based on the addition of the data rates depending on SINR of the first data stream and the SINR of the second data stream that is calculated based on the at least two second candidate codebook vectors.

Where the plurality of data streams further include a third data stream, the candidate codebook vector selecting unit 620 may select at least two third candidate codebook vectors associated with the third data stream from the codebook vectors, based on an angle between the codebook vectors and a space spanned by the first selection codebook vector and the second codebook vector. The selection codebook vector determining unit 630 may determine a third selection codebook vector corresponding to the third data stream from the third candidate codebook vectors, based on a sum of a data transmission rate that is a function of the SINR of the first data stream, the SINR of the second data stream, and the SINR of the third data stream that is calculated based on the at least two third candidate codebook vectors.

The channel information feedback unit 640 may feed back to a base station CDI and CQI corresponding to the selection codebook vector.

The receive beamforming unit 650 may perform receive beamforming using the determined selection codebook vector.

The methods described above including channel information feeding back method according to an exemplary embodiment may be recorded, stored, or fixed in one or more computer-readable media that includes program instructions to be implemented by a computer to cause a processor to execute or perform the program instructions. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. Examples of computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD ROM disks and DVD; magneto-optical media such as optical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The described hardware devices may be configured to act as one or more software modules in order to perform the operations and methods described above.

According to certain embodiments above, there is provided a receiver and method of feeding back channel information that selects a plurality of candidate codebook vectors based on a plurality of quantization errors and signal-to-interference and noise ratios (SINRs) and determines, as an effective channel vector, any one candidate codebook vector from the plurality of candidate codebook vectors so as to improve the receive performance of the receiver. There is also provide a receiver and method of feeding back channel information that determines effective channel vectors corresponding to a plurality of data streams according to a scheme so as to improve the receive performance of the receiver with relatively fewer calculations.

A number of exemplary embodiments have been described above. Nevertheless, it will be understood that various modifications may be made. For example, suitable results may be achieved if the described techniques are performed in a different order and/or if components in a described system, architecture, device, or circuit are combined in a different manner and/or replaced or supplemented by other components or their equivalents. Accordingly, other implementations are within the scope of the following claims. 

1. A receiver for feeding back channel information, comprising: a channel vector measuring unit to measure channel vectors corresponding to a plurality of receiving antennas, respectively, that receive a plurality of data streams; a candidate codebook vector selecting unit to select at least two candidate codebook vectors from codebook vectors included in a codebook, by considering a quantization error based on the channel vectors with respect to each of the data streams; and a selection codebook vector determining unit to determine selection codebook vectors corresponding to the plurality of data streams respectively from the at least two candidate codebook vectors, based on a signal-to-interference and noise ratio (SINR) of each of the data streams that is calculated according to each of the candidate codebook vectors.
 2. The receiver as claimed in claim 1, wherein the plurality of data streams comprises a first data stream, the candidate codebook vector selecting unit selects at least two first candidate codebook vectors associated with the first data stream from the codebook vectors, based on the quantization error corresponding to an angle between the codebook vectors and a space spanned by the channel vectors, and the selection codebook vector determining unit determines a first selection codebook vector corresponding to the first data stream from the first candidate codebook vectors, based on the SINR of the first data stream that is calculated according to the at least two first candidate codebook vectors.
 3. The receiver as claimed in claim 2, wherein the plurality of data streams further comprises a second data stream, the candidate codebook vector selecting unit selects at least two second candidate codebook vectors associated with the second data stream from the codebook vectors, based on an orthogonality between the first selection codebook vectors and the codebook vectors, and the selection codebook vector determining unit determines a second selection codebook vector corresponding to the second data stream from the second candidate codebook vectors, based on a sum of data transmission rates that is a function of the SINR of the first data stream and the SINR of the second data stream that is calculated based on the at least two second candidate codebook vectors.
 4. The receiver as claimed in claim 3, wherein the plurality of data streams further comprises a third data stream, the candidate codebook vector selecting unit selects at least two third candidate codebook vectors associated with the third data stream from the codebook vectors, based on an angle between the codebook vectors and a space spanned by the first selection codebook vector and the second selection codebook vector, and the selection codebook vector determining unit determines a third selection codebook vector corresponding to the third data stream from the third candidate codebook vectors, based on a sum of data transmission rates that is a function of the SINR of the first data stream, the SINR of the second data stream, and the SINR of the third data stream that is calculated based on the at least two third candidate codebook vectors.
 5. The receiver as claimed in claim 1, wherein the selection codebook vector determining unit determines the selection codebook vectors corresponding to the plurality of data streams respectively from the candidate codebook vectors to maximize a sum of data transmission rates that is a function of the SINR of each of the data streams.
 6. The receiver as claimed in claim 1, wherein the candidate codebook vector selecting unit selects the candidate codebook vectors from the codebook vectors in an order from a smallest quantization error.
 7. The receiver as claimed in claim 1, wherein the candidate codebook vector selecting unit estimates the quantization error based on an angle between the codebook vectors and a space spanned by the channel vectors, and selects the candidate codebook vectors based on the estimated quantization error.
 8. The receiver as claimed in claim 1, further comprising: a receive beamforming unit to perform receive beamforming using the determined selection codebook vectors.
 9. The receiver as claimed in claim 1, further comprising: a channel information feedback unit to feed back to a base station channel direction information and channel quality information corresponding to the selection codebook vectors.
 10. A receiver for feeding back channel information, comprising: a channel vector measuring unit to measure channel vectors corresponding to a plurality of receiving antennas, respectively, that receive a data stream; a candidate codebook vector selecting unit to select at least two candidate codebook vectors from codebook vectors included in a codebook, by considering a quantization error based on the channel vectors; a selection codebook vector determining unit to determine a selection codebook vector corresponding to the data stream from the candidate codebook vectors, based on a signal-to-interference and noise ratio (SINR) that is calculated according to each of the candidate codebook vectors; and a receive beamforming unit to perform receive beamforming using the determined selection codebook vector.
 11. The receiver as claimed in claim 10, further comprising: a channel information feedback unit to feed back to a base station channel direction information and channel quality information corresponding to the selection codebook vector.
 12. The receiver as claimed in claim 10, wherein the receive beamforming unit performs receive beamforming using receive weight vectors that are calculated based on the selection codebook vector.
 13. A method of feeding back channel information, comprising: measuring channel vectors corresponding to a plurality of receiving antennas, respectively, that receive a plurality of data streams; selecting at least two candidate codebook vectors from codebook vectors included in a codebook, by considering a quantization error based on the channel vectors with respect to each of the data streams; and determining selection codebook vectors corresponding to the plurality of data streams respectively from the candidate codebook vectors, based on a signal-to- interference and noise ratio (SINR) of each of the data streams that is calculated according to each of the candidate codebook vectors.
 14. The method as claimed in claim 13, further comprising: performing receive beamforming based on the determined selection codebook vectors.
 15. The method as claimed in claim 13, further comprising: feeding back to a base station channel direction information and channel quality information corresponding to the selection codebook vectors.
 16. The method as claimed in claim 13, wherein the selecting of the at least two candidate codebook vectors comprises estimating the quantization error based on an angle between the codebook vectors and a space spanned by the channel vectors, and selecting the candidate codebook vectors based on the estimated quantization error.
 17. The method as claimed in claim 13, wherein the determining of the selection codebook vectors comprises determining the selection codebook vectors corresponding to the plurality of data streams respectively from the candidate codebook vectors to maximize a sum of data transmission rates that is a function of the SINR of each of the data streams.
 18. A method of generating quality information of a terminal receiving a plurality of data streams, comprising: calculating effective channel vectors corresponding to the plurality of data streams respectively; calculating a signal-to-interference and noise ratio (SINR) of each of the effective channel vectors based on an interference power caused by at least one adjacent terminal of the terminal and another interference power caused by remaining data streams after excluding a target data stream from the plurality of data streams; and feeding back to a base station channel quality information associated with each of the effective channel vectors, wherein the channel quality information includes the corresponding SINR that is quantized.
 19. The method as claimed in claim 18, wherein the calculating of the SINR comprises: estimating transmit weight vectors corresponding to the plurality of data streams respectively, based on the effective channel vectors; estimating the interference power caused by the at least one adjacent terminal of the terminal, based on the effective channel vectors and the estimated transmit weight vectors; and estimating the interference power caused by the remaining data streams, based on the effective channel vectors.
 20. A computer-readable storage medium storing a program to feed back channel information, comprising instructions to cause a computer to: measure channel vectors corresponding to a plurality of receiving antennas, respectively, that receive a plurality of data streams; select at least two candidate codebook vectors from codebook vectors included in a codebook, by considering a quantization error based on the channel vectors with respect to each of the data streams; and determine selection codebook vectors corresponding to the plurality of data streams respectively from the candidate codebook vectors, based on a signal-to- interference and noise ratio (SINR) of each of the data streams that is calculated according to each of the candidate codebook vectors. 